package basic_practice_1001;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner  scanner=new Scanner(System.in);
		while(scanner.hasNext()) {
			
			int M=scanner.nextInt();
			int N=scanner.nextInt();
			int K=scanner.nextInt();
			
			Map<Integer, int[]>pea=new HashMap<Integer, int[]>();
			
			List<Integer>peanum=new ArrayList<Integer>();
			for(int i=0;i<M;i++) {
				
				for(int j=0;j<N;j++) {
					int peanut=scanner.nextInt();
					if(peanut>0) {
						pea.put(peanut, new int[] {i+1,j+1});
						peanum.add(peanut);
					}
				}
			}
			

			int result=0;
			
			if(peanum.size()>0) {
				Collections.sort(peanum,new Comparator<Integer>() {
					@Override
					public int compare(Integer o1, Integer o2) {
						return -Integer.compare(o1, o2);
					}});
				int leftTime=K;
				int Px=0;
				int Py=pea.get(peanum.get(0))[1];
				int peanumIndex=0;
				
				while(leftTime>0&&peanumIndex<peanum.size()) {
					
					int nextNum=peanum.get(peanumIndex);
					int nPx=pea.get(nextNum)[0];
					int nPy=pea.get(nextNum)[1];
					
					int time=Math.abs(nPx-Px)+Math.abs(nPy-Py)+1;
					if(time+nPx<=leftTime) {
						leftTime-=time;
						result+=nextNum;
						peanumIndex++;
						
						Px=nPx;
						Py=nPy;
					}else {
						break;
					}
				}
			}
			
			System.out.println(result);
		}
		scanner.close();
	}
}

//
//public class Main {
//
//	public static void main(String[] args) {
//		Scanner  scanner=new Scanner(System.in);
//		while(scanner.hasNextLine()) {
//			String MNK=scanner.nextLine();
//			if(MNK.isEmpty()) {
//				break;
//			}
//			String[] mnk=MNK.split(" ");
//			
//			int M=Integer.parseInt(mnk[0]);
//			int N=Integer.parseInt(mnk[1]);
//			int K=Integer.parseInt(mnk[2]);
//			
//			Map<Integer, int[]>pea=new HashMap<Integer, int[]>();
//			
//			List<Integer>peanum=new ArrayList<Integer>();
//			for(int i=0;i<M;i++) {
//				String rowi=scanner.nextLine();
//				String[] rowis=rowi.split(" ");
//				for(int j=0;j<N;j++) {
//					int peanut=Integer.parseInt(rowis[j]);
//					if(peanut>0) {
//						pea.put(peanut, new int[] {i+1,j+1});
//						peanum.add(peanut);
//					}
//				}
//			}
//	
//			Collections.sort(peanum,new Comparator<Integer>() {
//				@Override
//				public int compare(Integer o1, Integer o2) {
//					return -Integer.compare(o1, o2);
//				}});
//			int leftTime=K;
//			int Px=0,Py=pea.get(peanum.get(0))[1];
//			
//			int result=0;
//			int peanumIndex=0;
//			
//			while(leftTime>0&&peanumIndex<peanum.size()) {
//				
//				int nextNum=peanum.get(peanumIndex);
//				int nPx=pea.get(nextNum)[0];
//				int nPy=pea.get(nextNum)[1];
//				
//				int time=Math.abs(nPx-Px)+Math.abs(nPy-Py)+1;
//				if(time+nPx<=leftTime) {
//					leftTime-=time;
//					result+=nextNum;
//					peanumIndex++;
//					
//					Px=nPx;
//					Py=nPy;
//				}else {
//					break;
//				}
//			}
//			System.out.println(result);
//		}
//		scanner.close();
//	}
//}